#
# Copyright 1999-2000,2004 The Apache Software Foundation.
# 
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# 
#      http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#
#
# $Log$
# Revision 1.18  2005/04/05 09:21:56  gareth
# Fix for jira 1397. *Much* nicer make output. Thanks to Axel Weib.
#
# Revision 1.17  2004/09/08 13:55:57  peiyongz
# Apache License Version 2.0
#
# Revision 1.16  2004/07/09 16:11:11  peiyongz
# Build on HP-Itanium, aCC A.05.52
#
# Revision 1.15  2003/11/12 20:28:16  peiyongz
# Stateless Grammar: ValidationContext
#
# Revision 1.14  2003/10/14 15:17:47  peiyongz
# Implementation of Serialization/Deserialization
#
# Revision 1.13  2003/10/10 16:23:29  peiyongz
# Implementation of Serialization/Deserialization
#
# Revision 1.12  2003/09/30 18:14:34  peiyongz
# Implementation of Serialization/Deserialization
#
# Revision 1.11  2003/09/18 20:32:02  peiyongz
# BinOutputStream
#
# Revision 1.10  2003/09/16 14:33:35  neilg
# PSVI/schema component model classes, with Makefile/configuration changes necessary to build them
#
# Revision 1.9  2003/06/20 18:51:31  peiyongz
# Stateless Grammar Pool :: Part I
#
# Revision 1.8  2003/04/21 15:48:39  knoaman
# Include MemoryManger header file.
#
# Revision 1.7  2002/09/17 21:23:13  peiyongz
# RPM for Xerces2.1.0, patch from Thomas Woerner (thomas@linux.de)
#
# Revision 1.6  2002/07/26 16:49:27  tng
# [Bug 2681] Can't build with gcc/g++ not named 'gcc'/'g++'.  Patch from Jonathan Lennox.
#
# Revision 1.5  2002/06/19 21:59:26  peiyongz
# DOM3:DOMSave Interface support: LocalFileFormatTarget
#
# Revision 1.4  2002/06/18 20:02:27  knoaman
# Add Wrapper4DOMInputSource.
#
# Revision 1.3  2002/06/18 19:16:48  knoaman
# Added Wrapper4InputSource.
#
# Revision 1.2  2002/05/28 22:40:46  peiyongz
# DOM3 Save Interface: DOMWriter/DOMWriterFilter
#
# Revision 1.1.1.1  2002/02/01 22:21:50  peiyongz
# sane_include
#
# Revision 1.11  2001/07/06 17:11:56  tng
# Automatic build of single-threaded library.  By Martin Kalen.
#
# Revision 1.10  2001/06/27 17:08:12  tng
# [Bug 1147] Headers install in wrong directory.  By Murray Cumming.
#
# Revision 1.9  2000/04/04 21:10:09  abagchi
# Added XMLFormatter
#
# Revision 1.8  2000/03/01 22:30:02  abagchi
# Object files are now created directly under obj directory
#
# Revision 1.7  2000/02/06 07:47:46  rahulj
# Year 2K copyright swat.
#
# Revision 1.6  2000/02/04 23:48:26  abagchi
# Made sure all targets are appended with :: not single :
#
# Revision 1.5  2000/02/01 23:43:11  abagchi
# AS/400 related change
#
# Revision 1.4  2000/01/12 20:10:28  aruna1
# Modified for new file and moved files
#
# Revision 1.3  1999/12/14 23:53:21  rahulj
# Removed the offending Ctrl-M's from the commit message
# logs which was giving packaging problems.
#
# PR:
# Obtained from:
# Submitted by:
# Reviewed by:
#
# Revision 1.2  1999/11/23 01:59:47  rahulj
# Code now works under HPUX 11. Tested inmemory message loader.
# Revamped makefiles. Builds with both DCE threads as well as pthread libraries.
#
# Revision 1.1.1.1  1999/11/09 01:08:26  twl
# Initial checkin
#
# Revision 1.5  1999/11/08 20:44:34  rahul
# Swat for adding in Product name and CVS comment log variable.
#
#

PLATFORM = @platform@
CC  = @cc@
CXX = @cxx@
CXXVER = @cxxver@
GCC = @GCC@
GXX = @GXX@
CXXFLAGS = @cxxflags@
CFLAGS = @cflags@
PREFIX = @prefix@
PREFIX_INCLUDE = @prefix_include@
LDFLAGS = @ldflags@
LIBS = @libs@
OSVER = @osver@
USELIBWWW = @uselibwww@
MESSAGELOADER = @messageloader@
TRANSCODER = @transcoder@
THREADS = @threads@

include ../Makefile.incl

MODULE = framework

FRAMEWORK_CPP_PUBHEADERS = \
	BinOutputStream.hpp \
	LocalFileInputSource.hpp \
	LocalFileFormatTarget.hpp \
	MemBufInputSource.hpp \
	MemBufFormatTarget.hpp \
	MemoryManager.hpp \
	StdInInputSource.hpp \
	StdOutFormatTarget.hpp \
	URLInputSource.hpp \
	ValidationContext.hpp \
	Wrapper4DOMInputSource.hpp \
	Wrapper4InputSource.hpp \
	XMLAttDef.hpp \
	XMLAttDefList.hpp \
	XMLAttr.hpp \
	XMLBuffer.hpp \
	XMLBufferMgr.hpp \
	XMLContentModel.hpp \
	XMLDocumentHandler.hpp \
	XMLDTDDescription.hpp \
	XMLElementDecl.hpp \
	XMLEntityDecl.hpp \
	XMLEntityHandler.hpp \
	XMLErrorCodes.hpp \
	XMLErrorReporter.hpp \
	XMLFormatter.hpp \
	XMLGrammarDescription.hpp \
	XMLGrammarPool.hpp \
	XMLNotationDecl.hpp \
	XMLPScanToken.hpp \
	XMLRecognizer.hpp \
	XMLRefInfo.hpp \
	XMLSchemaDescription.hpp \
	XMLValidator.hpp \
	XMLValidityCodes.hpp

FRAMEWORK_CPP_PRIVHEADERS =

FRAMEWORK_C_FILES =

FRAMEWORK_CPP_OBJECTS = \
	BinOutputStream.$(TO) \
	LocalFileInputSource.$(TO) \
	LocalFileFormatTarget.$(TO) \
	MemBufInputSource.$(TO) \
	MemBufFormatTarget.$(TO) \
	StdInInputSource.$(TO) \
	StdOutFormatTarget.$(TO) \
	URLInputSource.$(TO) \
	Wrapper4DOMInputSource.$(TO) \
	Wrapper4InputSource.$(TO) \
	XMLAttDef.$(TO) \
	XMLAttDefList.$(TO) \
	XMLAttr.$(TO) \
	XMLBuffer.$(TO) \
	XMLBufferMgr.$(TO) \
	XMLContentModel.$(TO) \
	XMLDTDDescription.$(TO) \
	XMLElementDecl.$(TO) \
	XMLEntityDecl.$(TO) \
	XMLFormatter.$(TO) \
	XMLGrammarDescription.$(TO) \
	XMLNotationDecl.$(TO) \
	XMLRecognizer.$(TO) \
	XMLRefInfo.$(TO) \
	XMLSchemaDescription.$(TO) \
	XMLValidator.$(TO)

all::	includes $(FRAMEWORK_CPP_OBJECTS) psvi

includes::	pubheaders $(FRAMEWORK_C_FILES)
	${MAKE} -C psvi $@

psvi::
	${MAKE} -C psvi 

pubheaders::
	$Qmkdir -p $(XML_INC_DIR)/$(MODULE)
	@echo "  (CP)  $(XML_INC_DIR)/$(MODULE)"
	$Q$(CP) $(FRAMEWORK_CPP_PUBHEADERS) $(FRAMEWORK_C_FILES) $(XML_INC_DIR)/$(MODULE)

# this may generate unnecessary dependencies, but it makes life easier
depend:: includes
	@echo "  (DEP)"
	$Q$(MAKE_DEPEND) $(XML_INCL)  *.cpp > $(DEPFILE)

clean::
	@echo "Making clean in $(MODULE) ..."
	$(RM2) $(addprefix $(XML_OBJ_DIR)/,$(FRAMEWORK_CPP_OBJECTS))
	${MAKE} -C psvi $@

distclean::	clean
	$(RM) Makefile $(DEPFILE)
	@echo "Removing all $(MODULE) header files ..."
	$(RM2) $(addprefix $(XML_INC_DIR)/$(MODULE)/,$(FRAMEWORK_CPP_PUBHEADERS))
	${MAKE} -C psvi $@

install::
	-mkdir -p $(DESTDIR)$(PREFIX_INCLUDE)/$(MODULE)
	$(CP) $(FRAMEWORK_CPP_PUBHEADERS) $(FRAMEWORK_C_FILES) $(DESTDIR)$(PREFIX_INCLUDE)/$(MODULE)
	${MAKE} -C psvi $@
